/*
 * config.h
 *
 *  Created on: 26 Jan 2014
 *      Author: bohni
 */

#ifndef CONFIG_H_
#define CONFIG_H_

// Global Config File
/////////////////////////////////////////////////////

/////////////////////////////////////////////////////
// UART / DEBUG Config

#define DEBUG_ENABLED

#define ANZAHL_DEBUG_WERTE 		24
#define SEND_BUFFER_SIZE		32

#define RECEIVE_BUFFER_SIZE		32

///////////////////////////////////////////////////
// REGLER CONFIG

#define Z_RATE_SENSITIVITY		0.1

//maximales Offset des Reglers vom Throttle
//#define REGLER_LIMIT_MIN 	20
#define REGLER_LIMIT		30			// Obere Grenze des Reglers
//Maximalwert, den Throttle annehmen darf
#define THROTTLE_MAX 	100 - REGLER_LIMIT
#define REGLER_MIN		15				// Minimaler Throttlewert zur Berechnung des Reglers



#define VZ_MIN			1
#define Z_LIMIT			5

////////////////////////////////////////////////////////////////


// nicht aendern. timer an ungenauigkeiten angepasst
#define ABTASTZEIT_IN_MS	 	20


/////////////////////////////////////////////////////
//

#define KALIBRIERUNGSSCHWELLE 		150			// bei zu starken Vibrationen beim einschalten wird neu Kalibriert


/////////////////////////////////////////////////////
// UART Commands

#define	SEND_DEBUG_MESSAGE 			1
#define REGLERWERTE_UPDATE			2
#define KALMAN_FILTER_UPDATE		3
#define SYSTEM_RESET				4
#define RESTART_IN_CONFIG_MODE		5
#define UPDATE_ALL_CONFIG			6
#define UPDATE_EEPROM_BYTE			7

/////////////////////////////////////////////////////////
// EEPROM

#define EEPROM_ADR_MODE				0x00

#define EEPROM_ADR_P_XY_ANGLE		0x01
#define EEPROM_ADR_I_XY_ANGLE		0x02
#define EEPROM_ADR_D_XY_ANGLE		0x03

#define EEPROM_ADR_P_XY_ACCEL		0x0C
#define EEPROM_ADR_I_XY_ACCEL		0x0D
#define EEPROM_ADR_D_XY_ACCEL		0x0E

#define EEPROM_ADR_P_Z_RATE			0x09
#define EEPROM_ADR_I_Z_RATE			0x0A
#define EEPROM_ADR_D_Z_RATE			0x0B

#define EEPROM_ADR_P_Z_ANGLE		0x0F
#define EEPROM_ADR_I_Z_ANGLE		0x10
#define EEPROM_ADR_D_Z_ANGLE		0x11

#define EEPROM_ADR_Q_ANGLE			0x05
#define EEPROM_ADR_Q_GYRO			0x06
#define EEPROM_ADR_R_ANGLE			0x07
#define EEPROM_ADR_LOW_PASS			0x08

#endif /* CONFIG_H_ */
